pub fn odd_fibnacci_sum(threshold: u32) -> u32 {
    (1..)
        .scan((0, 1), |cur, _| {
            *cur = (cur.1, cur.0 + cur.1);
            Some(cur.0)
        })
        .take_while(|&x| x <= threshold)
        .filter(|&x| x % 2 == 1)
        .sum()
}
